La segreteria ha i profili degli studenti, i dettagli dei corsi e le iscrizioni in tabelle separate. Crea un report che affianchi il nome dello studente giusto al corso giusto.
Le tue tre richieste
- Trova i corsi attivi di Emma Li.
- Elenca le iscrizioni attive con i nomi degli studenti e i titoli dei corsi.
- Fornisci l'elenco attivo di PY101 per gli studenti DSAI.
Prepara PostgreSQL
- In pgAdmin, apri il file fornito
lab6_7_setup.sqldalla cartella del TADSAI2202/lab6_7/ed esegui il file completo una volta. - Verifica i conteggi finali: 22 studenti, 8 corsi, 37 iscrizioni.
- Esegui l'impostazione di connessione a destra. Ripetila ogni volta che apri una nuova connessione al database.
- Ispeziona le tre tabelle prima di unirle.
Il Lab 7 usa la stessa configurazione, incluse assignments, submissionse lms_roster. Oggi usa le tre tabelle mostrate qui. Tutte le persone e i record sono fittizi.
SET search_path TO lab6_7;SET search_path TO lab6_7;
SELECT student_id, student_name, programme
FROM students
ORDER BY student_id;SET search_path TO lab6_7;
SELECT course_code, course_title, credits
FROM courses
ORDER BY course_code;SET search_path TO lab6_7;
SELECT enrolment_id, student_id, course_code,
enrolment_status, score
FROM enrolments
ORDER BY enrolment_id;Piccole anteprime delle tre tabelle
students: 22 righe. student_id è la chiave primaria.
| student_id | student_name | programme |
|---|---|---|
| S101 | Alice Wong | DSAI |
| S102 | Ben Lau | CS |
| S105 | Emma Li | CS |
courses: 8 righe. course_code è la chiave primaria.
| course_code | course_title | credits |
|---|---|---|
| SQL101 | SQL Fundamentals | 3 |
| PY101 | Python Programming | 3 |
| WEB101 | Web Databases | 3 |
enrolments: 37 righe, di cui 30 attive e 7 ritirate. enrolment_id è la chiave primaria.
| enrolment_id | student_id | course_code | enrolment_status |
|---|---|---|---|
| E01 | S101 | SQL101 | active |
| E04 | S104 | SQL101 | withdrawn |
| E06 | S105 | PY101 | active |
enrolments.student_id → students.student_idUna chiave esterna punta a un solo studente.
enrolments.course_code → courses.course_codeUna chiave esterna punta a un solo corso.
S101 + SQL101Alice Wong + SQL Fundamentals.
Gli ID ripetuti collegano i record; i nomi e i titoli restano nelle rispettive tabelle. Uno studente può comparire in più iscrizioni.